.icon {
    overflow: hidden;
    display: flex;
    justify-content: center;
    border-radius: 25%;
    background-color: #F55;
    transition: background-color 0.5s;
    user-select: none;
    width: inherit;
    height: inherit;
    position: relative;
}
.icon::after{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height: 100%;
    content:"";
    z-index: 1;
    background-color:rgba(0,0,0);
    opacity: 0;
}
.icon:active::after {
    opacity: 0.3;
}